package com.example.kingdee.kingdeeBridge.common;

import com.kingdee.bos.webapi.entity.SuccessEntity;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;


public class RequestResult extends HashMap<String, Object> {

//    //状态码，200——成功， 500——失败
//    String code;
//    //错误信息
//    String msg;
//    //单据id
//    String Id;
//    //单据编码
//    String Number;
//
//    int DIndex;
//    String BillNo;

    /**
     * 快速创建结果对象方法。方法返回一个接口调用错误结果
     *
     * @return 新的空的结果对象
     */
    public static RequestResult ofError(String msg) {
        RequestResult result = new RequestResult();
        result.setCode("500");
        result.setMsg(msg);
        return result;
    }

    /**
     * 快速创建结果对象方法。方法返回一个接口调用成功结果
     *
     * @return 新的空的结果对象
     */
    public static RequestResult ofSuccess(SuccessEntity successEntity) {
        RequestResult result = new RequestResult();
        result.setCode("200");
        result.setId(successEntity.getId());
        result.setNumber(successEntity.getNumber());
        result.setDIndex(successEntity.getDIndex());
        result.setBillNo(successEntity.getBillNo());
        return result;
    }

    /**
     * 快速创建结果对象方法。方法返回一个接口调用成功结果
     *
     * @return 新的空的结果对象
     */
    public static RequestResult ofSuccess(Map<String, Object> resultMap) {
        RequestResult result = new RequestResult();
        result.setCode("200");
        result.setId(resultMap.get("primaryKey").toString());
        result.setNumber(resultMap.get("number").toString());
        return result;
    }

    public String getCode() {
        return String.valueOf(get("code"));
    }

    public void setCode(String code) {
        put("code",code);
    }

    public String getMsg() {
        return String.valueOf(get("msg"));
    }

    public void setMsg(String msg) {
        put("msg",msg);
    }

    public String getId() {
        return String.valueOf(get("id"));
    }

    public void setId(String id) {
        put("id",id);
    }

    public String getNumber() {
        return String.valueOf(get("number"));
    }

    public void setNumber(String number) {
        put("number",number);
    }

    public int getDIndex() {
        return Integer.parseInt(String.valueOf(get("index")));
    }

    public void setDIndex(int DIndex) {
        put("index",DIndex);
    }

    public String getBillNo() {
        return String.valueOf(get("billNo"));
    }

    public void setBillNo(String billNo) {
        put("billNo",billNo);
    }
}
